@import "../node_modules/tinper-bee-core/scss/minxin-variables";
@import "../node_modules/tinper-bee-core/scss/minxin-mixins";
@import "../node_modules/bee-loading/src/Loading";

$text-color: $font-color-base;
$font-size-base: 12px;
$line-height: 1.33;
// 主题定制border：
$table-border-color: unquote("rgb(#{$table-border-color-base})");
// $table-head-background-color: #f7f7f7;
// $table-head-text-color: #666;
$vertical-padding: 12px;
$horizontal-padding: 8px;
$first-horizontal-padding: 12px;
// $table-border-color: #e9e9e9;

$table-hover-color: #E7F2FC;
$table-move-in-color: $bg-color-base;
$checkbox-height:14px;
$table-th-bottom-border:#C1C7D0;

$filter-form-control-height:26px;
$table-head-font-weight: bold;
$icon-color:#505F79;
.u-table {
  font-size: $font-size-base;
  color: $text-color;
  // transition: opacity 0.3s ease;
  position: relative;
  line-height: $line-height;
  overflow: hidden;
  &.copy .u-table-thead th {
    user-select: unset 
  }
  &-body{
    // overflow: hidden!important;
    position: relative;
    .u-table-row-expand-columns-in-body .expand-icon-con {
      display: none;
      pointer-events: none;
    }
  }
  &-hiden-drag{
    position: relative;
    &-li{
      position: absolute;
      top: 0px;
      left: 0px;
      // height: 10px;//这个高度先注释掉了，加上后，在火狐浏览器上会站位置。滚动条拉到最右边有错行
    }
  }
  table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
  }

  th {
    // background: $table-head-background-color;
    font-weight: $table-head-font-weight;
    text-align: left;
    // transition: background 0.3s ease;
    line-height: 16px;
    &[colspan] {
      text-align: center;
    }
    ::last-child{
      overflow: hidden;
    }
  }

  td {
    border-bottom: 1px solid $table-border-color;
    line-height: $line-height;
    a{
      color: #2196F3;
      &:hover{
        color: #1565c0;
      }
      &:active{
        color: #1565c0;
      }
    }
    .u-switch-span{
      display: inline-block
    }
  }
  thead{
    tr:last-child{
      border-bottom: 1px solid $table-th-bottom-border;
    }
    tr>th:last-child{
      // border-right: none; 
    }
  }
  tr {
    // transition: all 0.3s ease;
    &:hover {
      // background: $hover-bg-color-base;
      td {
        .uf-eye{
          visibility: visible !important;
        }
      }
    }
    tr a{
      color: #2196F3;
      &:hover{
        color: #1565c0;
      }
      &:active{
        color: #1565c0;
      }
    }
    td.u-table-multiSelect-column.u-table-row-has-expandIcon:not(.u-table-row-fixed-columns-in-body){
      display: flex;
      flex-direction: row-reverse;
      &:nth-last-child(1):last-child {
        border-right: none;
      }
      .expand-icon-con {
        height: 14px;
        .uf{
          padding: 0;
        }
        .u-table-row-expand-icon {
          width: 2px;
        }
      }
      .u-checkbox {
        margin: 0;
      }
    }
    td.u-table-inline-icon{
      position: relative;
      padding-right: 24px;
      span.u-table-inline-op-icon{
        position: absolute;
        right: 0;
        .uf{
          display: block;
          vertical-align: top;
        }
      }
      span.u-table-inline-op-icon-hover{
        visibility: hidden;
      }
    } 
  }
  tr.u-table-row-hover{
    td.u-table-inline-icon{
      span.u-table-inline-op-icon-hover{
        visibility: visible;
      }
    }
  }
  .u-table-inline-op-icon-hidden{
    visibility: hidden;
  }
  tr.tr-row-hover {
    background: $hover-bg-color-base;
  }

  th,
  td {
    padding: $vertical-padding $horizontal-padding;
    word-break: break-all;
    &.drag-handle-column {
      .uf {
        font-size: 12px;
        line-height: 12px;
      }
      &.u-table-row-has-expandIcon .uf {
        padding: 0;
      }
    }
    &.text-center{
      text-align: center;
    }
    &.text-right{
      text-align: right;
    }
    .expand-icon-con{
      cursor: pointer;
      display: inline-block;
      font-size: 12px;
      line-height: 12px;
      .uf{
        padding: 0;
        font-size: 12px;
      }
    }
  }
  &-sm {
    td {
      padding: 8px $horizontal-padding;
    }
  }
  &-lg {
    td {
      padding: 16px $horizontal-padding;
    }
  }
  tr {
    
    &.filterable{
      th{
        padding-top: 5px !important;
        padding-bottom: 5px !important;
        .filterContext{
          height: 35px;
        }
        .u-select-selection--single{
          height: 26px;
        }
      }
    }
  }
  &-row-hover {
    background:unquote("rgb(#{$table-row-hover-bg-color})");
  }
 
  &-scroll {
    overflow: auto;
  }
  &-bordered {
    table {
      border: 1px solid $table-border-color;
      box-sizing: border-box;
      table-layout: fixed;
      // width:auto;
    }
 
    .u-table-header>table {
        border-bottom: 0;
    }
    .u-table-header~.u-table-body,.u-table-header~.u-table-body-outer{
      table{
        border-top: 0px ;
      }
    }

    th {
      border-bottom: 1px solid $table-border-color;
      box-sizing: border-box;
    }
    th,
    td {
      border-right: 1px solid $table-border-color;
      box-sizing: border-box;
    }
  }
  &-drag-border{
    tr {
      th.th-can-not-drag{ //拖拽tag影响了表格整体宽度
        overflow: hidden;
        .u-table-thead-th-drag-gap{//最后一个非固定列不可以拖拽
          display: none;
        }
      }
    }
  }
  &-header {
    overflow: hidden;
    background: $table-head-background-color;
    color: $table-head-text-color;
  }

  &.fixed-height td {
    padding: 0px $horizontal-padding;
  }

  &-fixed-header &-body {
    background: #fff;
    position: relative;
  }
  &-fixed-left &-body-inner {
    margin-right: -20px;
    padding-right: 20px;
  }

   &-fixed-header:not(.u-table-hide-header) &-fixed-left &-body-inner {
    padding-right: 0px;
  }

  &-fixed-header &-body-inner {
    height: 100%;
    overflow: scroll;
  }


  &-fixed-header &-scroll &-header {
    overflow-x: scroll;
    padding-bottom: 20px;
    margin-bottom: -20px;
    overflow-y: scroll;
    box-sizing: border-box;
  }

  &-title {
    padding: $vertical-padding $horizontal-padding;
    border-top: 1px solid $table-border-color;
  }

  &-content {
    position: relative;
  }

  &-footer {
    padding: $vertical-padding $horizontal-padding;
    border-bottom: 1px solid $table-border-color;
    .u-table-scroll{
      overflow-x: hidden;
    }
  }
  &-footer & {
    margin: (-$vertical-padding) (-$horizontal-padding);
  }

  &-placeholder {
    padding: $vertical-padding 8px;
    background: #fff;
    border-bottom: 1px solid $table-border-color;
    text-align: center;
    position: relative;
    .table-nodata{ 
      font-size: 40px; 
      line-height: 44px;
      + span{
        font-size: 12px;
        line-height: 12px;
        display: block;
      }
    }
  }

  &-expand-icon-col {
    width: 10px;
  }
  &-row,
  &-expanded-row {
    .u-table{
      tr{
        background: #fff;
      }
      tr.u-table-row-hover{
        background:unquote("rgb(#{$table-row-hover-bg-color})");
        
      }
    }
    &-expand-icon {
      cursor: pointer;
      display: inline-block;
      margin-right: 8px;
      width: 14px;
      height: 14px;
      text-align: center;
      line-height: 14px;
      user-select: none;
      &.uf{
        font-size: 12px;
        padding: 0;
      }
    }
    &-spaced {
      visibility: hidden;
    }
    &-spaced:after {
      content: ".";
    }
    &-expanded {
      &:after {
        content: "\e639";
        font-family: "uf";
      }
    }
    &-collapsed {
      &:after {
        content: "\e61c";
        font-family: "uf";
      }
    }
  }
  &-row{
    &.selected{
      background: #FFF7E7;
    }
  }
  tr.u-table-expanded-row {
    background: #DFE1E6;
    &:hover {
      background: #DFE1E6;
    }
    .u-table {
      // padding: 0 40px 0 20px;
      z-index: 1;
    }
  }
  &-column-hidden {
    display: none;
  }
  &-prev-columns-page,
  &-next-columns-page {
    cursor: pointer;
    color: #666;
    z-index: 1;
    &:hover {
      color: #2db7f5;
    }
    &-disabled {
      cursor: not-allowed;
      color: #999;
      &:hover {
        color: #999;
      }
    }
  }
  &-prev-columns-page {
    margin-right: 8px;
    &:before {
      content: "<";
    }
  }
  &-next-columns-page {
    float: right;
    &:before {
      content: ">";
    }
  }

  &-fixed-left,
  &-fixed-right {
    position: absolute;
    top: 0;
    overflow: hidden;
    z-index: 1;
    table {
      width: auto;
      background: #fff;
    }
  }

  &-fixed-left {
    left: 0;
    box-shadow: 4px 0 4px rgba(100, 100, 100, 0.1);
    &-body-inner {
      margin-right: -20px;
      padding-right: 20px;
    }
    &-fixed-header & &-body-inner {
      padding-right: 0;
    }
  }

  &-fixed-right {
    right: 0;
    box-shadow: -4px 0 4px rgba(100, 100, 100, 0.1);

    // hide expand row content in right fixed Table
    // https://github.com/ant-design/ant-design/issues/1898
    &-expanded-row {
      color: transparent;
      pointer-events: none;
    }
 
  }
  
  &-scroll-position-left &-fixed-left {
    box-shadow: none;
  }

  &-scroll-position-right &-fixed-right {
    box-shadow: none;
  }

  &-thead{
    .filter-text,.filter-dropdown,.filter-date {
      font-weight: normal;
    }
    .filter-wrap{
      display: flex;
      justify-content: center;
      align-items: center;
      .filter-btns{
        min-width: 58px;
      }
    }
    th{
      background: $table-head-background-color;
      color: $table-head-text-color;
      background-clip:padding-box;
      //禁止选中文字
      -moz-user-select: -moz-none;
      -khtml-user-select: none;
      -webkit-user-select: none; 
      /*
        Introduced in IE 10. 
      */
        -ms-user-select: none;
        user-select: none;

      // overflow: hidden;
      // white-space: nowrap;
      // text-overflow: ellipsis;
      .required {
        color: #F22C1D;
      }
      .bee-table-column-sorter {
        position: relative;
        margin-left: 4px;
        height: 16px;
        vertical-align: middle;
        text-align: center;
        display: inline-block;
        margin-top: -3px;
        i{
          padding: 0px;
          font-weight: 600;
          color: $icon-color;
        }
       
        & > .bee-table-column-sorter-down,
        & > .bee-table-column-sorter-up, & > .bee-table-column-sorter-flat {
          line-height: 16px;
          display: block;
          width: 34px;
          cursor: pointer;
        }
        
       
      }

      .bee-table-column-sorter-down.on .uf-triangle-down,
      .bee-table-column-sorter-down.on .uf-triangle-up,
      .bee-table-column-sorter-up.on .uf-triangle-down,
      .bee-table-column-sorter-up.on .uf-triangle-up {
        color: #108ee9;
      }
      .bee-table-column-sorter .uf-triangle-down,
      .bee-table-column-sorter .uf-triangle-up {
        -webkit-filter: none;
        filter: none;
        font-size: 12px;
      }
      .bee-table-column-sorter .uf-triangle-down,
      .bee-table-column-sorter .uf-triangle-up {
        display: inline-block;
        padding: 0;
        font-size: 12px;
        font-size: 8px\9;
        -webkit-transform: scale(0.66666667) rotate(0deg);
        -ms-transform: scale(0.66666667) rotate(0deg);
        transform: scale(0.66666667) rotate(0deg);
        -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1, M12=0, M21=0, M22=1)";
        zoom: 1;
        line-height: 4px;
        height: 4px;
        color: #999;
        // -webkit-transition: all 0.3s;
        // transition: all 0.3s;
      }
       &:hover{
        .bee-table-column-sorter {
            display: inline-block;
        }
      }
    }
    .th-drag{
      cursor: move;
    }
    .th-drag:hover{
      background: $hover-bg-color-base;

    }
    //为了区分是拖拽宽度还是交换列，先注释上面了
    // .th-drag:hover{
    //   background:#ccc;
    // }
    .th-drag-hover{ 
      background: #ccc;
    }
    &-th{
      position: relative;

      &-drag-gap{
        height: 100%;
        position: absolute;
        right: -10px;
        top: 0;
        // background:transparent;
        // width: 1px;
        // background:#ccc;
        width: 20px;
        
        box-sizing: border-box;
        z-index: 1;

        .online{
          height: 100%;
          width: 4px;
          // background:transparent;//兼容火狐浏览器，如果table设置border，
          margin: 0 auto;
        }
        .online:hover{
          background:#000000;
        }
        .online-hover{
          background:#000000;
        }
      
      }
      &-drag-gap:hover{
        cursor: col-resize;
        .online{
          background: #000000
        }
      }
    }
    &-th:last-child {
      &-drag-gap{
        border: none;
      }
    }
  }


  &-filter-column{
    
    &-pop-cont{
      margin: 0px;
      max-height: 300px;
      overflow-y: auto;
      color:#212121;
    }
    &-clear-setting{ 
      // border-bottom: 1px solid #ccc;
      cursor: pointer;
      margin-bottom: 4px;
    }
    &-cont{
      position: relative;
    }
    &-filter-icon{
      position: absolute;
      width: 30px;
      height: 39px ;
      line-height: 39px;
      right: 0px ;
      top:1px ;
      z-index: 2;
      background: $table-head-background-color;
      text-align: center;
      cursor: pointer;
      i.uf{
        padding: 0px;
        color: $icon-color;
      }
    }
    &-pop-cont-item{
      margin-top: 8px;
      font-size: 12px;
      // line-height: 30px;
      cursor: pointer;
      .u-checkbox {
        margin: 0px;

      }
    }
    &-pop-cont-item span.drop-menu-title{
      margin-left: -3px;
      max-width: 132px;
      width: auto !important;
      min-width: 56px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      display: inline-block;
      vertical-align: middle;
    }
    &-pop .u-modal-dialog{
      border: 1px solid #ccc;
      background: #fff;
    }
  }
  //拖拽宽度代码
  &-row-fixed-columns-in-body{
    // visibility: hidden;
    display:none;
    pointer-events: none;
  }
  //固定列含有checkbox 样式复写
  .u-checkbox {
    height: $checkbox-height;
    line-height:  $checkbox-height;
    margin:0px;
    display: block;
    margin-left: 5px;
    .u-checkbox-label{
      line-height:  $checkbox-height;
      padding-left: 16px;
      &:before,&:after {
        width:  $checkbox-height;
        height:  $checkbox-height;
      }
    }
  }
  .u-table-scroll,.u-table-fixed-left{
    tr{
      td:first-child, th:first-child{
        padding-left: $first-horizontal-padding
      }
    }
  }
  &.has-fixed-left{
    .u-table-scroll{
      tr{
        td:first-child, th:first-child{
          padding-left: $horizontal-padding
        }
      }
    }
  }
  // 滚动条样式复写
  ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
  ::-webkit-scrollbar-button {
    display: none;
  }
  ::-webkit-scrollbar-thumb {
    background: #d5d5d5 !important;
    border-radius: 5px;
  }
  ::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: #d5d5d5;
    position: absolute;
  }

  ::-webkit-scrollbar-track {
    display: none;
  }

  ::-webkit-scrollbar-track-piece {
    display: none;
  }

  .drag-handle-column, .row-dragg-able{
    cursor:move;
  }
  .u-table-drag-hidden-cont{
    width: 100px;
    height: 40px;
  }

  .u-table-link{
    cursor: pointer;
    color: #0073E1;
  }
  .u-table-link-underline:hover{
    text-decoration:underline;
  }
  .u-table-currency{
    display: inline-block;
    text-align: right;
  }
}

.u-table:focus{
  outline: none;
  // border-color: #9ecaed;
  // box-shadow: 0 0 10px #9ecaed;
  box-shadow: 0 0 0;
}

  .u-table-bordered {
    .u-table-drag-gap{
      background:#e9e9e9;
    }
  }
.u-table.bordered {
  table {
    border-collapse: collapse;
  }
  th,
  td {
    border: 1px solid $table-border-color;
  }
}

.move-enter,
.move-appear {
  opacity: 0;
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-duration: 2.5s;
  animation-fill-mode: both;
  animation-play-state: paused;
}

.move-leave {
  animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  animation-duration: 0.5s;
  animation-fill-mode: both;
  animation-play-state: paused;
}

.move-enter.move-enter-active,
.move-appear.move-enter-active {
  animation-name: moveLeftIn;
  animation-play-state: running;
}

.move-leave.move-leave-active {
  animation-name: moveRightOut;
  animation-play-state: running;
}

@keyframes moveLeftIn {
  0% {
    transform-origin: 0 0;
    transform: translateX(30px);
    opacity: 0;
    background: $table-move-in-color;
  }
  20% {
    transform-origin: 0 0;
    transform: translateX(0);
    opacity: 1;
  }
  80% {
    background: $table-move-in-color;
  }
  100% {
    background: transparent;
    opacity: 1;
  }
}

@keyframes moveRightOut {
  0% {
    transform-origin: 0 0;
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    transform-origin: 0 0;
    transform: translateX(-30px);
    opacity: 0;
  }
}

.formItem-style {
  height: unset;
  min-height: unset;
  padding: 0;
}
.errMessage-style {
  display: none;
  border: none;
  /* margin-top: 5px; */
  /* margin-bottom: 5px; */
  background: transparent;
  color: #f22c1d;
  /* padding-left: 12px; */
  /* padding-right: 12px; */
  margin: 0;
  position: absolute;
  padding: 0;
  top: 3px;
  right: 0;
}

.editable-cell {
  position: relative;
}

.editable-cell-input-wrapper,
.editable-cell-text-wrapper {
  padding-right: 24px;
}
.editable-cell-input-wrapper {
  .u-form-item.formItem-style .u-label{
    display: none;
  }
  .u-input-group .u-form-control{
    height: 26px;
    font-size: 12px;
  }
}

.editable-cell-text-wrapper {
  padding: 5px 24px 5px 5px;
  height: 30px;
}

.editable-cell-icon,
.editable-cell-icon-check {
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  cursor: pointer;
}

.editable-cell-icon {
  line-height: 28px;
  display: none;
}

.editable-cell-icon-check {
  line-height: 28px;
}

.editable-cell:hover .editable-cell-icon {
  display: inline-block;
}

.editable-cell-icon:hover,
.editable-cell-icon-check:hover {
  color: #2db7f5;
}

.editable-add-btn {
  margin-bottom: 8px;
}

.search-component {
  margin-bottom: 20px;
  .empty-search {
    position: absolute;
    right: 45px;
    z-index: 20;
    top: 5px;
    color: #524e4e;
    cursor: pointer;
  }
  &.u-input-group.simple {
    float: right;
  }
  &.u-input-group.simple .u-form-control {
    width: 251px;
    background: #f5f5f5;
    border-color: #f5f5f5;
    border-radius: 20px;
  }
  &.u-input-group.simple .u-input-group-btn {
    top: 3px;
    right: 20px;
    position: absolute;
  }
}


.col-resize-container {
  height: 0px;
  position: relative;

  & + .table-col-resizer:first-of-type {
    table-layout: fixed;
  }

  .active-drag .icon{
    visibility: visible;
  }

  .last-handle {
    display: none;
  }

  .drag-handle {
    margin-left: -5px;
    position: absolute;
    z-index: 5;
    width: 10px;
    cursor: col-resize;

    .icon {
      color: #40b0dc;
      top: -1px;
      position: absolute;
      visibility: hidden;

      &:first-child {
        left: -2px
      }
      &:last-child {
        left: 6px
      }
    }

    &:hover{
      .icon{
        visibility: visible;
      }
      .col-resizer {
        border: 1px solid;
      }
    }

    &.disabled-drag {
      cursor: default;
      display: none;
    }

    .col-resizer {
      position: absolute;
      width: 1px;
      height: 100%;
      top: 0px;
      left: 3px;
    }
  }
}

.u-filter-dropdown-menu-wrap {
    z-index: 1800;
    .u-dropdown-menu {
        li.u-dropdown-menu-item {
            line-height: $filter-form-control-height;
            height: $filter-form-control-height;
            padding: 0px 16px 0 16px;
            cursor: pointer;
        }
    }
}
.filter-wrap {
  .u-form-control{
    height: $filter-form-control-height;
  }
  .u-input-number.u-input-group.simple .u-input-group-btn .icon-group {
    height: $filter-form-control-height;
  }
  .calendar-picker {
    .u-input-group-btn{
      line-height: 20px;
    }
  }
  .u-input-number.u-input-group.simple .u-input-group-btn .icon-group .uf{
    line-height: 12px;
  }
}
.u-row-hover{
  position: absolute;
  right: 24px;
  display: none;
  align-items: center;
  justify-content: center;
  background: transparent;
}

.u-row-hover2{
  position: absolute;
  left: 100;
}



// 表格显示里面的内容显示在一行
.header-dispaly-in-row{
  &.u-table{
    table{
      table-layout: fixed;
    }
  }
  th{
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
    overflow: hidden;
  }
}
.body-dispaly-in-row{
  &.u-table{
    table{
      table-layout: fixed;
    }
    
  }
  td{
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
    overflow: hidden;
  }
  .u-table-fieldtype{
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
    overflow: hidden;
  }
}
.u-table-drag-hidden-cont{
  position: absolute;
  top:-1000px;
}

.u-editable-table .u-table {
  .u-table-row-hover {
    .editable-cell-text-wrapper {
      padding-left: 4px;
      border: 1px solid #c1c7d0;
    }
  }

  .editable-cell-text-wrapper {
    &:hover {
      padding-left: 4px;
      border: 1px solid #a5adba;
    }
  }

  .editable-cell-input-wrapper {
    &:focus {
      outline: none;
    }
  }
}

.u-editable-table-tp {
  .tooltip-arrow {
    top: 1px !important;
    border-bottom-color: #F44336 !important;
  }

  .tooltip-inner {
    border-color: #F44336 !important;
  }
}
.u-dropdown{
  ul.u-table-inline-op-dropdowm{
    li.u-dropdown-menu-item{
      padding: 0 20px 0 10px;
      height: 30px;
      line-height: 30px;
      i.uf{
        font-size: 12px;
      }
    }
  }
}
